package com.gs.view.login;

import java.util.Observable;

import android.app.AlertDialog;
import android.app.Dialog;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import com.gs.Controllore;
import com.gs.R;
import com.gs.business.IAggiornatoreModel;
import com.gs.business.comadi.utenti.CommandInserisciUtente;
import com.gs.domain.Utenti;
import com.gs.domain.wrapper.WrapUtenti;

public class Registrazione extends AbstractRegistrazioneView implements IAggiornatoreModel {

	@Override
	protected int getIdLayout() {
		return R.layout.registrazione;
	}

	@Override
	protected void myOnCreate(final Bundle savedInstanceState) {

		Button registra = (Button) findViewById(R.id.btnInserisciReg);
		registra.setOnClickListener(new View.OnClickListener() {

			@Override
			public void onClick(final View v) {
				TextView nome = (TextView) findViewById(R.id.nomeReg);
				TextView cognome = (TextView) findViewById(R.id.cognomeReg);
				TextView username = (TextView) findViewById(R.id.usernameReg);
				TextView password = (TextView) findViewById(R.id.passwordReg);
				if (nonEsistonoCampiVuoti(nome, cognome, username, password)) {
					WrapUtenti utente = new WrapUtenti();
					utente.setNome(nome.getText().toString());
					utente.setCognome(cognome.getText().toString());
					utente.setusername(username.getText().toString());
					utente.setpassword(password.getText().toString());
					if (Controllore.invocaComando(new CommandInserisciUtente(utente))) {
						Controllore.setUtenteLogin((Utenti) utente.getEntitaPadre());
						showDialog(0);
					}

				}
			}

			private boolean nonEsistonoCampiVuoti(final TextView nome, final TextView cognome, final TextView username,
					final TextView password) {
				return nome.getText() != null && cognome.getText() != null && username.getText() != null
						&& password.getText() != null && !nome.getText().toString().equals("")
						&& !cognome.getText().toString().equals("") && !username.getText().toString().equals("")
						&& !password.getText().toString().equals("");
			}
		});

	}

	@Override
	public void update(final Observable observable, final Object data) {
		// TODO Auto-generated method stub

	}

	@Override
	protected Dialog onCreateDialog(final int id) {
		AlertDialog.Builder builder = new AlertDialog.Builder(this);
		builder.setMessage("Utente inserito con successo");
		builder.setCancelable(true);
		builder.setTitle("OK!");
		return builder.create();
	}

	@Override
	public void aggiornaModelDaVista() {
		// TODO Auto-generated method stub

	}

}
